Özet

Program tasarımında, temelde, iki yaklaşım vardır; bir algoritmik, diğeri sezgisel (heuristic) olarak adlandırılır. Algoritmik yaklaşım daha çok veri modellerinin bilinmesine dayanırken sezginsel yaklaşım tasarımcının öngörüsüne dayanır. Bir algoritma tanımsal olarak yazıyla veya şekilsel olarak ifade edilebilir. Şekilsel olarak ifadede, akış şemaları (flow charts) yöntemi kullanılması alışılagelen bir yöntemdir; bunun dışında da N-S şemaları, W-O diyagramları ve çeşitli notasyonlar vardır. Bir program tasarımcısı, tasarımını akış şemaları veya benzeri bir şekilsel tanımlardan birisiyle ifade edebilmelidir. Akış şemaları tasarlanması istenen bir programı açıkça ortaya koyar ve herhangi bir programlama diliyle kolayca kodlanmasını sağlar. Akış şemaları her ne kadar programlama dilinden bağımsız olsa da, döngü simgeleri ve bazı kontrol deyimlerine ait simgeler programlama dillerine özgü olabilir.